home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Dev / Meshwriter / MeshWriterTest / modules / pyramid.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-12-03  |  3.2 KB  |  89 lines

  1. /*
  2. **      $VER: pyramid.c 1.00 (20.3.1999)
  3. **
  4. **      Creation date     : 20.3.1999
  5. **
  6. **      Description       :
  7. **         MeshWriter testprogram shape module.
  8. **
  9. **
  10. **      Written by Stephan Bielmann
  11. **
  12. */
  13.  
  14. /*************************** Includes *******************************/
  15.  
  16. #ifndef WITHMWLLIB
  17. #include "//meshlib.h"
  18. #else
  19. #include <meshwriter/meshwriter.h>
  20. #include <pragma/meshwriter_lib.h>
  21. #endif
  22.  
  23. /**************************** Defines *******************************/
  24.  
  25. /*********************** Type definitions ***************************/
  26.  
  27. /********************** Private functions ***************************/
  28.  
  29. /********************** Public functions ****************************/
  30.  
  31. /********************************************************************\
  32. *                                                                    *
  33. * Name         : cube                                                *
  34. *                                                                    *
  35. * Description  : Draws a multicolored cube mesh. By setting all      *
  36. *                vertice values direct as fixed values.              *
  37. *                                                                    *
  38. * Arguments    : mesh    IN  : An initialized mesh handle.           *
  39. *                                                                    *
  40. * Comment      :                                                     *
  41. *                                                                    *
  42. \********************************************************************/
  43. void pyramid (ULONG mesh) {
  44.  ULONG mat1,mat2,mat3,mat4;
  45.  TOCLColor color;
  46.  TOCLVertex v1,v2,v3;
  47.   
  48.  MWLMeshMaterialAdd(mesh,&mat1);
  49.  color.r=0,color.g=0,color.b=255;
  50.  MWLMeshMaterialDiffuseColorSet(mesh,mat1,&color);
  51.  MWLMeshMaterialShininessSet(mesh,mat1,1);
  52.  MWLMeshMaterialTransparencySet(mesh,mat1,0);
  53.  
  54.  MWLMeshMaterialAdd(mesh,&mat2);
  55.  color.r=0,color.g=255,color.b=0;
  56.  MWLMeshMaterialDiffuseColorSet(mesh,mat2,&color);
  57.  MWLMeshMaterialShininessSet(mesh,mat2,1);
  58.  MWLMeshMaterialTransparencySet(mesh,mat2,0);
  59.  
  60.  MWLMeshMaterialAdd(mesh,&mat3);
  61.  color.r=255,color.g=0,color.b=0;
  62.  MWLMeshMaterialDiffuseColorSet(mesh,mat3,&color);
  63.  MWLMeshMaterialShininessSet(mesh,mat3,1);
  64.  MWLMeshMaterialTransparencySet(mesh,mat3,0);
  65.  
  66.  MWLMeshMaterialAdd(mesh,&mat4);
  67.  color.r=255,color.g=0,color.b=255;
  68.  MWLMeshMaterialDiffuseColorSet(mesh,mat4,&color);
  69.  MWLMeshMaterialShininessSet(mesh,mat4,1);
  70.  MWLMeshMaterialTransparencySet(mesh,mat4,0);
  71.  
  72.  MWLMeshNameSet(mesh,"Pyramid");
  73.     
  74.  v1.x=-10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=-10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  75.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  76.  v1.x=10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  77.  MWLMeshTriangleAdd(mesh,mat2,&v1,&v2,&v3);
  78.  v1.x=10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  79.  MWLMeshTriangleAdd(mesh,mat3,&v1,&v2,&v3);
  80.  v1.x=-10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=-10,v2.z=-10;v3.x=0,v3.y=0,v3.z=10;
  81.  MWLMeshTriangleAdd(mesh,mat4,&v1,&v2,&v3);
  82.  v1.x=-10,v1.y=-10,v1.z=-10;v2.x=10,v2.y=10,v2.z=-10;v3.x=-10,v3.y=10,v3.z=-10;
  83.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  84.  v1.x=10,v1.y=10,v1.z=-10;v2.x=-10,v2.y=-10,v2.z=-10;v3.x=10,v3.y=-10,v3.z=-10;
  85.  MWLMeshTriangleAdd(mesh,mat1,&v1,&v2,&v3);
  86. }
  87.  
  88. /************************* End of file ******************************/
  89.